const userList = [{
  username: 'admin',
  password: 'admin',
  nickname: '管理员',
  avator: 'https://robohash.org/123?set=set5'
}, {
  username: 'user',
  password: 'user',
  nickname: '普通用户',
  avator: 'https://robohash.org/12312312?set=set5'
}]
const multipart = require('connect-multiparty');
const multipartMiddleware = multipart();

const OSS = require('ali-oss')

const client = new OSS({
  // yourregion填写Bucket所在地域。以华东1（杭州）为例，Region填写为oss-cn-hangzhou。
  region: 'oss-cn-shanghai',
  // 阿里云账号AccessKey拥有所有API的访问权限，风险很高。强烈建议您创建并使用RAM用户进行API访问或日常运维，请登录RAM控制台创建RAM用户。
  accessKeyId: 'LTAI5tCgSXUeoHbUsh9Nabsa',
  accessKeySecret: '7ojy23daSXMRkY7aHF3vJbUeNz63SV',
  // 填写Bucket名称。
  bucket: '2101a-123',
});

module.exports = app => {
  app.use(require('body-parser').json())

  app.post('/api/login', (req, res) => {
    const {
      username,
      password
    } = req.body;
    const user = userList.find(v => {
      return v.username === username && v.password === password
    })
    if (user) {
      res.send({
        code: 200,
        data: {
          nickname: user.nickname,
          avator: user.avator
        },
        message: `登录成功， 欢迎 ${user.nickname}`
      })
    } else {
      res.send({
        code: 400,
        message: '登录失败， 请求重新登录'
      })
    }



  })

  app.post('/api/upload', multipartMiddleware, async (req, res) => {
    // 1. 获取上传的文件
    const { name, path } =  req.files.file
    // 2. 存储到云服务器
    const resp = await client.put(name, path)
    // 3. 返回前端
    res.send({
      code: 200,
      data: resp,
      message: '上传成功'
    })
  })
}